.\" $OpenBSD: bwi.4,v 1.40 2014/02/15 20:28:19 tedu Exp $
.\"
.\" Copyright (c) 2007 Marcus Glocker <mglocker@openbsd.org>
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.Dd $Mdocdate: February 15 2014 $
.Dt BWI 4
.Os
.Sh NAME
.Nm bwi
.Nd Broadcom AirForce IEEE 802.11b/g wireless network device
.Sh SYNOPSIS
.Cd "bwi* at cardbus?"
.Cd "bwi* at pci?"
.Sh DESCRIPTION
The
.Nm
driver provides support for Broadcom AirForce based
PCI/Cardbus network adapters.
.Pp
These are the modes the
.Nm
driver can operate in:
.Bl -tag -width "IBSS-masterXX"
.It BSS mode
Also known as
.Em infrastructure
mode, this is used when associating with an access point, through
which all traffic passes.
This mode is the default.
.It monitor mode
In this mode the driver is able to receive packets without
associating with an access point.
This disables the internal receive filter and enables the card to
capture packets from networks which it wouldn't normally have access to,
or to scan for access points.
.El
.Pp
The
.Nm
driver can be configured to use
Wired Equivalent Privacy (WEP) or
Wi-Fi Protected Access (WPA-PSK and WPA2-PSK).
WPA is the current encryption standard for wireless networks.
It is strongly recommended that WEP
not be used as the sole mechanism
to secure wireless communication,
due to serious weaknesses in it.
The
.Nm
driver relies on the software 802.11 stack for both encryption and decryption
of data frames.
.Pp
The transmit speed is user-selectable or can be adapted automatically by the
driver depending on the received signal strength and on the number of hardware
transmission retries.
.Pp
The
.Nm
driver can be configured at runtime with
.Xr ifconfig 8
or on boot with
.Xr hostname.if 5 .
.Sh FILES
The driver needs a firmware file which is loaded when an interface is
brought up:
.Pp
.Bl -tag -width Ds -offset indent -compact
.It Pa /etc/firmware/bwi-airforce
.El
.\".Pp
.\"These firmware files are not free because Broadcom refuses
.\"to grant distribution rights.
.\"As a result, even though
.\".Ox
.\"includes the driver, the firmware files cannot be included and
.\"users have to download these files on their own.
.Pp
A prepackaged version of the firmware can be installed using
.Xr fw_update 1 .
.Sh HARDWARE
The following cards are among those supported by the
.Nm
driver:
.Bl -column "TRENDnet TEW-401PCplus" "BCM4306" "CardBus" "Standard" -offset 6n
.It Em Card Ta Em Chip Ta Em Bus Ta Em Standard
.It "Apple Airport Extreme" Ta BCM4306 Ta PCI Ta b/g
.It "Apple Airport Extreme" Ta BCM4318 Ta PCI Ta b/g
.It "ASUS WL-138g" Ta BCM4318 Ta PCI Ta b/g
.It "Buffalo WLI-CB-G54" Ta BCM4306 Ta CardBus Ta b/g
.It "Compaq R4035 onboard" Ta BCM4306 Ta PCI Ta b/g
.It "HP nx6125" Ta BCM4319 Ta PCI Ta b/g
.It "Linksys WPC54G Ver 3" Ta BCM4318 Ta CardBus Ta b/g
.It "Linksys WPC54GS Ver 2" Ta BCM4318 Ta CardBus Ta b/g
.It "TRENDnet TEW-401PCplus" Ta BCM4306 Ta CardBus Ta b/g
.It "US Robotics 5411" Ta BCM4318 Ta CardBus Ta b/g
.El
.Sh EXAMPLES
The following example scans for available networks:
.Pp
.Dl # ifconfig bwi0 scan
.Pp
The following
.Xr hostname.if 5
example configures bwi0 to join network
.Dq mynwid ,
using WPA key
.Dq mywpakey ,
obtaining an IP address using DHCP:
.Bd -literal -offset indent
nwid mynwid
wpakey mywpakey
dhcp
.Ed
.Sh SEE ALSO
.Xr arp 4 ,
.Xr cardbus 4 ,
.Xr ifmedia 4 ,
.Xr intro 4 ,
.Xr netintro 4 ,
.Xr pci 4 ,
.Xr hostname.if 5 ,
.\".Xr hostapd 8 ,
.Xr ifconfig 8
.Sh HISTORY
The
.Nm
driver first appeared in
.Ox 4.3 .
.Sh AUTHORS
.An -nosplit
The
.Nm
driver was written for
.Dx
by
.An Sepherosa Ziehau
and ported to
.Ox
by
.An Jonathan Gray
and
.An Marcus Glocker .
.Sh CAVEATS
Some chips are incorrectly calibrated due to the lack of documentation,
which can slow the amount of traffic to the point of being unusable.
Furthermore this driver only supports firmware version 3.
